#!/bin/bash

cvc5=$(dirname "$(readlink -f "$0")")/cvc5
bench="$1"

logic=$(expr "$(grep -m1 '^[^;]*set-logic' "$bench")" : ' *(set-logic  *\([A-Z_]*\) *) *$')

# use: finishwith [params..]
# to run cvc5 and let it output whatever it will to stdout.
function finishwith {
  $cvc5 -L smt2.6 --no-incremental --no-type-checking --no-interactive --fp-exp "$@" $bench
}

case "$logic" in

QF_LRA)
  finishwith --no-restrict-pivots --use-soi --new-prop
  ;;
QF_LIA)
  finishwith --miplib-trick --miplib-trick-subs=4 --use-approx --lemmas-on-replay-failure --replay-early-close-depth=4 --replay-lemma-reject-cut=128 --replay-reject-cut=512 --use-soi --pb-rewrites --ite-simp --simp-ite-compress
  ;;
QF_BV)
  finishwith --bv-assert-input
  ;;
*)
  # just run the default
  finishwith
  ;;

esac
